We shall strive more particularly here below in this document to describe a set of problems existing in the particular case of “mmWave WPAN (Millimeter Wave Wireless Personal Area Network) type wireless networks.
The disclosure naturally is not limited to this particular field of application but is of interest for any decoding technique that needs to cope with a proximate or similar set of problems.
The mmWave WPAN type networks mentioned here above are particularly well suited to applications that are heavy consumers of bandwidth, for example home audio-visual applications. Indeed, the 60 GHz radio band used by this type of network offers a substantial bandwidth, thus enabling the transportation of large quantities of data as is required for example for the transportation of video streams with 1080p resolution. However, frequencies in the range of 60 GHz have wavelengths in the range of one millimeter and are easily absorbed by obstacles (walls, furniture, living beings etc) because of the very low rate of reflection on obstacles and a very high rate of attenuation in air.
In a communications network, communications between a sender device (here below also called a source node) and a receiver device (also called a destination node here below) can be easily disturbed and data can be lost.
To resolve this problem, two approaches are commonly used. They consist in implementing either a temporal redundancy with transmission at different points in time or spatial redundancy through a use of several antennas and modules for processing a physical signal. These two approaches can be combined by use of a meshed network in which data relays are set up, according to a predefined clocking rate. The diversity of the relays provides spatial diversity and the controlled clocking (in the form of TDMA or Time Division Multiple Access type access) provides temporal diversity. In this type of network, the data transmitted by the source node can therefore flow on different paths. Several copies (there are therefore redundancies) of the same pieces of transmitted data can therefore be received by the destination node and thus facilitate the correction of errors in order to retrieve data originally sent out by the source node.
Spatial redundancy is facilitated by the small wavelength of the radio signals which enables the making of miniature antennas. It is then possible to envisage the installation of several antennas and modules (or blocks) for receiving signals for a same receiver device. Thus, the signals reach each of the antennas of the receiver device along different paths and the risks of having a concealment of the set of communications paths between the sender device and the multiple reception modules is greatly diminished. To increase the spatial diversity, it is appropriate to move the antennas away from each other (and therefore to move them away from a common data processing module). To limit the excess cost entailed by this duplication of reception modules, it is appropriate to limit the redundancy of the processing modules to those dedicated to processing of the physical signals corresponding to the layer 1 of the Open Systems Interconnection model (or OSI model).
These receiver devices must ensure the combination of the data transmitted by the different modules for processing physical signals so as to profitably use the information redundancy (flowing from the reception of several copies of a same piece of original data). Furthermore, it is necessary to minimize information exchanges between the modules (modules for processing physical signals and common data-processing module) which have been moved away to provide for spatial diversity. Indeed, in video type applications, the bit rate of the data to be processed is very high and it is not desirable to increase this bit rate greatly by adding information extracted from the modules for processing the physical signals.
In order to overcome data transmission errors inherent in the transmission channel, it is common practice to use error correction codes (or Forward Error Correction or FEC codes) in communications systems.
One of the error correction codes most commonly used in wireless networks is the Reed Solomon (RS) code. This code can be defined as they C(n, k) code where n represents the total number of symbols of the code word after encoding and k is a number of original data symbols (that are therefore n-k redundancy symbols).
In the Reed Solomon code, a symbol is a set of m bits. A value often used in hardware configurations is m=8.
The Reed Solomon code has a correction capacity of (n−k)/2 errors or (n−k) erasures, one erasure being an error in a symbol for which the position is known. More generally, the correction capacity C of such a code is defined as follows:C=2×number of errors+number of erasures,the upper limit of C being “d”, the minimum distance of the code with d=(n−k)+1.
In order to reach the borderline correction capacity of a Reed Solomon decoder, it is necessary the mark the position of the erasures. Several methods are already well known for this purpose.
For example, one method applicable in the case of a system using multiple copies of a same code word (where the multiple copies result for example from a multiple reading or a multiple reception) is described in the U.S. Pat. No. 6,389,573. This document proposes to mark the positions of erasures by making a symbol-to-symbol comparison of the different copies of the same code word. The positions of erasures are marked at the places where the symbols are different from one copy to the other. For each position other than the positions of erasures, the copy to be decoded (to be transmitted to the decoder with the erasures vector) comprises the symbol which is identical in the different copies. The decoding capacity of this method is limited to the capacity of the decoder, despite the contribution of redundancy made by numerous copies of a same code word.
It must further be noted that most present-day data communications systems implement a combination of error correction systems by combining several error correction codes. One well-known example pertains to the use of a Reed Solomon type code and a convoluted code as illustrated in FIG. 1 (described in detail here below). Indeed, the concatenation of a block code processing symbols (sets of bits) and a convolutive type encoder processing bits gives a high error-correction capacity. At reception, the decoding of the data generated according to the convolutive code is conventionally done by a decoder based on the Viterbi algorithm.
The Viterbi algorithm selects, in a lattice diagram (a diagram representing possible transitions between the different states of the encoder) a maximum likelihood path (corresponding to the path possessing level of reliability that is the highest. This decoder is especially in A. J. Viterbi, “Error bounds for convolutional codes and an asymptotically optimum decoding algorithm”, IEEE Trans. IT., Vol 13 (1967), pp. 260-269). For a brief reminder of convoluted codes and their decoding by the Viterbi algorithm, reference could also be made to J. K. Omura, “On the Viterbi Algorithm”, IEEE Trans. IT., January 1979, pp. 177-179.
Several variance of the Viterbi algorithm have been proposed in order to have symbol-by-symbol information available on the reliability of the decoding done. Such variance have been proposed especially in the following publications:
G. Battail, “Weighting of the symbols decoded by the Viterbi algorithm, Ann. Télécomm., Vol. 42 (1987), No 1-2, pp. 31-38);
J. Hagenauer, P. Hoeher, “A Viterbi algorithm with soft-decision output and its applications”, IEEE Globecom, Dallas, 1989, pp. 47.1.1-47.1.7).
R. Sfez, G. Battail, “A weighted output variant of the Viterbi algorithm for concatenated schemes with convolutional internal encoding, Eurocode 90, Udine, Italy;
Patent document EP0758167.
These algorithms are used to obtain information on reliability of the decoded piece of data and are more commonly known as algorithms of the SOVA (Soft Output Viterbi Algorithm) type.
In a transmission system implementing spatial and/or temporal redundancy of data, i.e. a system in which multiple copies of the same encoded piece of data are received in order to minimize the errors of transmission on the transmission channel (or facilitate its identification), the problem is to determine which are the symbols and the erasures vector to be transmitted to a decoder (for example of the Reed Solomon type) to have a minimum error rate at output of decoding.
This problem is particularly preoccupying in the case of a transmission of data where the data bit rates to be transmitted are very high (in the case for example of a transmission of high-definition digital video data) and where it is therefore impossible or penalizing to adding a great deal of additional information to the data in order to obtain the desired result at output of decoding, i.e. a bit error rate that is as low as possible.
Indeed, in this case, the databus connecting the different layers (i.e. the different modules) of the receiver device must convey a high bit rate of information (several Gbps) and it is not desirable to increase this bit rate greatly.
The US patent document 2007/0115801 describes:
A first method for selecting signals received by the multiple antennas (or reception systems) in order to improve the quality of reception of the signal. This first method is based on the use of a parameter representing the quality received on each sequence such as for example an RSSI (Received Signal Strength Indication) measurement or else again an SNR (signal-to-noise ratio) measurement.
a second method for combining FFT (Fast Fourier Transform) block output signals of each reception system. The second method is based on the MRC (Maximum Ratio Combining) method in which a linear combination is made of two antenna signals so as to obtain a resulting signal that maximizes the reception level before applying the demodulation. The resulting signal coming from the MRC module is then demodulated and decoded by means of a turbodecoder.
This patent document describes a first method for selecting signals and a second method for combining signals which are situated upline from the demodulation. These methods are based on a level of power in reception to decide on the signal to be decoded; thus, the selection is made upstream from the decoder. However, a signal having a high level of power at reception is not necessarily the one that will ensure the best error rate at output of the decoder.
The U.S. Pat. No. 6,065,149 describes an error correction system used to perform a very precise decoding operation and obtain a low bit error rate. The internal decoder or inner decoder is a SOVA type. The system is based on the use of a CRC (Cyclic Redundancy Check) algorithm which gives information on reliability that is additional to the one given by the internal decoder. These two pieces of information are used to determine the erasures vector at input of the external decoder.
The U.S. Pat. No. 7,228,489 describes an encoding system that combines a Viterbi decoder and a Reed Solomon decoder so as to improve the performance of the error correction system. The internal decoder is of the SOVA type and the information on reliability that it gives is summated by a symbol so as to determine the reliability of the symbol. The symbols that are most probably erroroneous are indicated in the erasures vector of the Reed Solomon decoder.
The U.S. Pat. Nos. 6,065,149 and 7,228,489 mentioned here above therefore each propose a particular implementation of a communications system combining two error correction codes (inner code and outer code) but none is located in the particular context where the communications system implements spatial redundancy and/or temporal redundancy (multi-copy system). It is all the more the case that neither of these two documents proposes a permanent solution, in this particular context, to the problem of minimizing the error rates at output of the outer decoding.